今天我繼續來跟大家介紹訓練Iris資料集後半段的程式碼以及心得~
#數據集級別的循環,每個epoch循環一次數據集。
#計算loss對各個參數的梯度
grads = tape.gradient(loss, [w1, b1])
#實現梯度更新 w1 = w1 -lr * w1_grad b = b -lr * b_grad
w1.assign_sub(lr * grads[0]) #參數w1自更新
b1.assign_sub(lr * grads[1]) #參數b自更新
total_correct
為預測對的樣本個數, total_number
為測試的總樣本個數,將這兩個變量都初始化為0
繪製loss
曲線
繪製Accuracy
曲線
(之所以loss、accuracy圖都呈現空白,是因為在使用TensorFlow來訓練模型時,通常會再搭配使用TensorBoard來紀錄和可視化這些指數,但今天我們只是要測試是否可以正常訓練Iris的資料集加能夠繪製圖表而已,所以就沒有使用到TensorBoard相關的語法)
心得 :
這次跟著文章動手操作訓練Iris的資料集其實蠻有趣的,但過程中也碰到很多困難。比如說一開始有部分語法不太正確,導致持續報錯耗費很多時間;後面繪製圖表結果呈現空白時,那時候也讓我很訝異以為是做錯了,後來經過上網找尋答案,才知道原來教學文章的程式碼裡只教我們如何正常訓練iris資料集加繪製圖表,但是卻缺少使用TensorBoard的相關語法,但沒關係這次也算是一次不錯的學習經驗。